#!/bin/sh
################################################ 
#  _____       _ ______ _____  ________     __ #
# |  __ \     | |  ____|  __ \|  ____\ \   / / #
# | |  | |    | | |__  | |__) | |__   \ \_/ /  #
# | |  | |_   | |  __| |  _  /|  __|   \   /   #
# | |__| | |__| | |____| | \ \| |       | |    #
# |_____/ \____/|______|_|  \_\_|       |_|    #
#                                              #
################################################
# Author    : Djerfy 
# Contact   : djerfy@gmail.com
# WebSite   : www.djerfy.com
#
# Name	    : Gmail Checker Install Script
# Version   : 2.0

###########
# CHANGES #
###########
# v1.0 : Début du script d'installation 
# v2.0 : Changement du dialog shell par ZENITY

## ---[ VARIABLES ]--- ##
ZENITY='/usr/bin/zenity'
WHOAMI='/usr/bin/whoami'
PING='/bin/ping'
DIR="/home/$USER/Documents/Scripts/Gmail"


## ---[ ZENITY ]--- ##
# Check si ZENITY est bien installé.
if [ ! -e "/usr/bin/zenity" ]; then
	echo "Impossible de trouver ZENITY. Merci de vérifier son installation et de relancer l'installation." ; exit 1
fi


## ---[ DON'T LAUNCH ROOT ]--- ##
# Pas de lancement du script en ROOT, utilisation de $USER pour l'ajout en crontab.
if [ $USER == root ]; then
	${ZENITY} --title="Djerfy -Gmail Checker" --error --text="Le script d'installation ne doit pas être lancé depuis l'utilisateur ROOT !" ; exit 1
fi


## ---[ VARIABLE DESKTOP ]--- ##
# Détection automatique de l'environnement du bureau GNOME/KDE.
if [ "`ps -e | grep gdm`" ]
	then DESKTOP='GNOME'
	elif [ "`ps -e | grep kdm`" ]; then
		DESKTOP='KDE'
	else
		${ZENITY} --title="Djerfy - Gmail Checker" --error --text="Gmail Checker ne fonctionne que pour les bureaux GNOME et KDE." ; exit 1
fi


## ---[ CHECK NETWORK ]--- ##
# Effectue un ping sur code.google.com afin de pouvoir télécharger le script. Sinon annule l'installation.
${PING} -c 1 code.google.com > /dev/null
if [ $? -ne 0 ]; then 
	${ZENITY} --title="Djerfy - Gmail Checker" --error --text="Aucune connexion internet trouvée. Merci de vérifier votre connexion internet." ; exit 1
fi


## ---[ CREATE FOLDER ]--- ##
# Installation du script dans /home/<USER>/Documents/Scripts/Gmail, si le dossier n'existe pas, il sera créé.
if [ ! -d ${DIR} ]; then
		mkdir -p ${DIR}
fi


## ---[ DOWNLOAD SCRIPT ]--- ##
# Téléchargement de l'image Gmail
wget -q http://djerfy-gmail-checker.googlecode.com/files/gmail.png -O ${DIR}/gmail.png

# Ajout dans le crontab l'entête
crontab -l > /tmp/crontab ; echo "## ---[ DJERFY - GMAIL CHECKER ]--- ##" >> /tmp/crontab ; crontab /tmp/crontab ; rm -f /tmp/crontab

# Téléchargement du script selon la version du bureau GNOME/KDE.
# Effectue un chmod sur le script et fait l'ajout dans le crontab de l'user.
if [ ${DESKTOP} == "KDE" ]; then
		wget -q http://djerfy-gmail-checker.googlecode.com/files/checker-KDE-v1.6.sh -O ${DIR}/checker-KDE-v1.6.sh
		chmod +x ${DIR}/checker-KDE-v1.6.sh
		crontab -l > /tmp/crontab ; echo "* * * * * /bin/sh /home/$USER/Documents/Scripts/Gmail/checker-KDE-v1.6.sh" >> /tmp/crontab ; crontab /tmp/crontab ; rm -f /tmp/crontab
	elif [ ${DESKTOP} == "GNOME" ]; then
		wget -q http://djerfy-gmail-checker.googlecode.com/files/checker-GNOME-v1.5.sh -O ${DIR}/checker-GNOME-v1.5.sh
		chmod +x ${DIR}/checker-GNOME-v1.5.sh
		crontab -l > /tmp/crontab ; echo "* * * * * /bin/sh /home/$USER/Documents/Scripts/Gmail/checker-GNOME-v1.5.sh" >> /tmp/crontab ; crontab /tmp/crontab ; rm -f /tmp/crontab
	else
		${ZENITY} --title="Djerfy - Gmail Checker" --error --text="Une erreur s'est produite.\nImpossible de continuer l'installation." ; exit 1
fi


## ---[ CHANGE LOGIN AND PASSWORD GMAIL ]--- ##
# Changement de l'adresse MAIL directement dans le script.
MAIL=`${ZENITY} --title="Djerfy - Gmail Checker" --entry --text="Saisissez votre adresse email Gmail : "`
sed -i "s/ACCOUNT@GMAIL.COM/${MAIL}/g" ${DIR}/checker-*.sh

# Changement du mot de passe directement dans le script.
# /!\ Attention, l'authentification reste du BASIC, donc le password reste en clair.
PASSWORD=`${ZENITY} --title="Djerfy - Gmail Checker" --password`
sed -i "s/YOUR_PASSWORD/${PASSWORD}/g" ${DIR}/checker-*.sh


## ---[ SUCCESS INSTALL ]--- ##
# Fin de l'installation.
${ZENITY} --title="Djerfy - Gmail Checker" --info --text="L'équipe #Djerfy.com vous remercie d'avoir fait l'installation du script Gmail Check :)"
exit 0
